SQL "UPDATE supplier SET ref='$input.ref',name='$input.name',addr1='$input.addr1',addr2='$input.addr2',addr3='$input.addr3',addr4='$input.addr4',tel='$input.tel',fax='$input.fax',supplier_type=$input.supplier_type WHERE recnum = $input.recnum ;"
DISPLAY supplier
[PROCESS delete]
DISPLAY sure WITH input
[PROCESS clear]
DISPLAY supplier
[PROCESS yes]
SQL "DELETE FROM supplier WHERE recnum = $input.recnum ;"
DISPLAY supplier
[PROCESS find]
DATA results
INT and
STRING query
MOVE 0 TO and
MOVE "SELECT recnum, ref, name FROM supplier WHERE " TO query
IF NOT BLANK(input.ref) THEN BEGIN
IF and = 1 THEN APPEND query " AND "
APPEND query "ref like '%" input.ref "%'"
MOVE 1 TO and
END
IF NOT BLANK(input.name) THEN BEGIN
IF and = 1 THEN APPEND query " AND "
APPEND query "name like '%" input.name "%'"
MOVE 1 TO and
END
IF NOT BLANK(input.addr1) THEN BEGIN
IF and = 1 THEN APPEND query " AND "
APPEND query "addr1 like '%" input.addr1 "%'"
MOVE 1 TO and
END
IF NOT BLANK(input.addr2) THEN BEGIN
IF and = 1 THEN APPEND query " AND "
APPEND query "addr2 like '%" input.addr2 "%'"
MOVE 1 TO and
END
IF NOT BLANK(input.addr3) THEN BEGIN
IF and = 1 THEN APPEND query " AND "
APPEND query "addr3 like '%" input.addr3 "%'"
MOVE 1 TO and
END
IF NOT BLANK(input.addr4) THEN BEGIN
IF and = 1 THEN APPEND query " AND "
APPEND query "addr4 like '%" input.addr4 "%'"
MOVE 1 TO and
END
IF NOT BLANK(input.tel) THEN BEGIN
IF and = 1 THEN APPEND query " AND "
APPEND query "tel like '%" input.tel "%'"
MOVE 1 TO and
END
IF NOT BLANK(input.fax) THEN BEGIN
IF and = 1 THEN APPEND query " AND "
APPEND query "fax like '%" input.fax "%'"
MOVE 1 TO and
END
APPEND query "ORDER BY ref, name;"
SQL query TO results
OUTPUT find_list WITH results
[PROCESS find_display]
DATA results
SQL "SELECT recnum, ref,name,addr1,addr2,addr3,addr4,tel,fax,supplier_type FROM supplier WHERE recnum=$input.recnum ;" TO results
SQL "SELECT code from programme WHERE code='$input.programme_code';" TO results
ROWS results TO no_rows
IF no_rows = 0 THEN BEGIN
DISPLAY scheme WITH input ERROR "Foreign Key Not Found" ON 3
END
SQL "SELECT ref from user WHERE ref='$input.manager';" TO results
ROWS results TO no_rows
IF no_rows = 0 THEN BEGIN
DISPLAY scheme WITH input ERROR "Foreign Key Not Found" ON 6
END
SQL "UPDATE scheme SET scheme_id='$input.scheme_id',title='$input.title',programme_code='$input.programme_code',costcode='$input.costcode',status=$input.status,manager='$input.manager' WHERE recnum = $input.recnum ;"
DISPLAY scheme
[PROCESS delete]
DISPLAY sure WITH input
[PROCESS clear]
DISPLAY scheme
[PROCESS yes]
SQL "DELETE FROM scheme WHERE recnum = $input.recnum ;"
DISPLAY scheme
[PROCESS find]
DATA results
INT and
STRING query
MOVE 0 TO and
MOVE "SELECT recnum, scheme_id, title FROM scheme WHERE " TO query
IF NOT BLANK(input.scheme_id) THEN BEGIN
IF and = 1 THEN APPEND query " AND "
APPEND query "scheme_id like '%" input.scheme_id "%'"
MOVE 1 TO and
END
IF NOT BLANK(input.title) THEN BEGIN
IF and = 1 THEN APPEND query " AND "
APPEND query "title like '%" input.title "%'"
MOVE 1 TO and
END
IF NOT BLANK(input.programme_code) THEN BEGIN
IF and = 1 THEN APPEND query " AND "
APPEND query "programme_code like '%" input.programme_code "%'"
MOVE 1 TO and
END
IF NOT BLANK(input.costcode) THEN BEGIN
IF and = 1 THEN APPEND query " AND "
APPEND query "costcode like '%" input.costcode "%'"
MOVE 1 TO and
END
IF NOT BLANK(input.manager) THEN BEGIN
IF and = 1 THEN APPEND query " AND "
APPEND query "manager like '%" input.manager "%'"
MOVE 1 TO and
END
APPEND query "ORDER BY scheme_id, title;"
SQL query TO results
OUTPUT find_list WITH results
[PROCESS find_display]
DATA results
SQL "SELECT recnum, scheme_id,title,programme_code,costcode,status,manager FROM scheme WHERE recnum=$input.recnum ;" TO results
DISPLAY scheme WITH results
[PROCESS pick_display]
DISPLAY scheme WITH input
[PROCESS pick_programme_code]
DATA results
SQL "SELECT code, description from programme ; " TO results
OUTPUT pick_programme_code WITH results
[OUTPUT pick_programme_code]
SET title AS "Available choices:"
SET type AS screen
DEFINE OUTPUT {
programme_code : LEFT : "Code"
description : LEFT : "Description"
} LINK TO PROCESS pick_display WITH VALUE programme_code
[PROCESS pick_manager]
DATA results
SQL "SELECT ref, name from user WHERE user_type = 1; " TO results
SQL "SELECT * FROM invoice WHERE obj_code='$input.obj_code' AND sub_code='$input.sub_code' AND supplier='$input.supplier' AND invoice_number='$input.invoice_number';" TO results
ROWS results TO no_rows
IF no_rows > 0 THEN BEGIN
DISPLAY invoice WITH input ERROR "Duplicate Record" ON 1
END
SQL "SELECT costcode from scheme WHERE costcode='$input.obj_code' ;" TO results
ROWS results TO no_rows
IF no_rows = 0 THEN BEGIN
DISPLAY invoice WITH input ERROR "Foreign Key Not Found" ON 1
END
SQL "SELECT costcode from subjective WHERE costcode='$input.sub_code' ;" TO results
ROWS results TO no_rows
IF no_rows = 0 THEN BEGIN
DISPLAY invoice WITH input ERROR "Foreign Key Not Found" ON 2
END
SQL "SELECT ref from supplier WHERE ref='$input.supplier' ;" TO results
ROWS results TO no_rows
IF no_rows = 0 THEN BEGIN
DISPLAY invoice WITH input ERROR "Foreign Key Not Found" ON 3
END
SQL "SELECT sum(total) FROM invoice WHERE obj_code='$input.obj_code' AND sub_code='$input.sub_code';" TO results
CALC ( results.0.0 + input.total ) TO spend
SQL "SELECT max(amend_number) FROM approval, scheme WHERE scheme.costcode='$input.obj_code' AND approval.scheme_id=scheme.scheme_id AND ((sub_code='$input.sub_code') OR (sub_code='$high'));" TO results
ROWS results TO no_rows
IF no_rows = 0 THEN BEGIN
DISPLAY invoice WITH input ERROR "No Approval for Expenditure" ON 2
END
CALC ( results.0.0 ) TO amend
SQL "SELECT limit, sub_code FROM approval, scheme WHERE scheme.costcode='$input.obj_code' AND approval.scheme_id=scheme.scheme_id AND ((sub_code='$input.sub_code') OR (sub_code='$high')) AND amend_number=$amend ORDER BY sub_code;" TO results
CALC ( results.0.0 - spend ) TO amend
IF ( amend < 0 ) BEGIN
DISPLAY invoice WITH input ERROR "Expenditure Exceeds Approval" ON 5
SQL "SELECT costcode from scheme WHERE costcode='$input.obj_code' ;" TO results
ROWS results TO no_rows
IF no_rows = 0 THEN BEGIN
DISPLAY invoice WITH input ERROR "Foreign Key Not Found" ON 1
END
SQL "SELECT costcode from subjective WHERE costcode=$input.sub_code ;" TO results
ROWS results TO no_rows
IF no_rows = 0 THEN BEGIN
DISPLAY invoice WITH input ERROR "Foreign Key Not Found" ON 2
END
SQL "SELECT ref from supplier WHERE ref='$input.supplier' ;" TO results
ROWS results TO no_rows
IF no_rows = 0 THEN BEGIN
DISPLAY invoice WITH input ERROR "Foreign Key Not Found" ON 3
END
SQL "UPDATE invoice SET obj_code='$input.obj_code',sub_code='$input.sub_code',supplier='$input.supplier',invoice_number='$input.invoice_number',total=$input.total,invoice_date='$input.invoice_date',processed='$input.processed',vat=$input.vat WHERE recnum = $input.recnum ;"
DISPLAY invoice
[PROCESS delete]
DISPLAY sure WITH input
[PROCESS clear]
DISPLAY invoice
[PROCESS yes]
SQL "DELETE FROM invoice WHERE recnum = $input.recnum ;"
DISPLAY invoice
[PROCESS find]
DATA results
INT and
STRING query
MOVE 0 TO and
MOVE "SELECT recnum, supplier, invoice_number, obj_code, sub_code, total FROM invoice WHERE " TO query
IF NOT BLANK(input.obj_code) THEN BEGIN
IF and = 1 THEN APPEND query " AND "
APPEND query "obj_code like '%" input.obj_code "%'"
MOVE 1 TO and
END
IF NOT BLANK(input.sub_code) THEN BEGIN
IF and = 1 THEN APPEND query " AND "
APPEND query "sub_code like '%" input.sub_code "%'"
MOVE 1 TO and
END
IF NOT BLANK(input.supplier) THEN BEGIN
IF and = 1 THEN APPEND query " AND "
APPEND query "supplier like '%" input.supplier "%'"
MOVE 1 TO and
END
IF NOT BLANK(input.invoice_number) THEN BEGIN
IF and = 1 THEN APPEND query " AND "
APPEND query "invoice_number like '%" input.invoice_number "%'"
MOVE 1 TO and
END
APPEND query "ORDER BY supplier, invoice_number, obj_code, sub_code, total;"
SQL query TO results
OUTPUT find_list WITH results
[PROCESS find_display]
DATA results
SQL "SELECT recnum, obj_code,sub_code,supplier,invoice_number,total,invoice_date,processed,vat FROM invoice WHERE recnum=$input.recnum ;" TO results
DISPLAY invoice WITH results
[PROCESS pick_display]
DISPLAY invoice WITH input
[PROCESS pick_obj_code]
DATA results
SQL "SELECT costcode, title, scheme_id from scheme ; " TO results
OUTPUT pick_obj_code WITH results
[OUTPUT pick_obj_code]
SET title AS "Available choices:"
SET type AS screen
DEFINE OUTPUT {
obj_code : LEFT : "Costcode"
title : LEFT : "Title"
scheme_id : LEFT : "Scheme Number"
} LINK TO PROCESS pick_display WITH VALUE obj_code
[PROCESS pick_sub_code]
DATA results
SQL "SELECT costcode, description from subjective ; " TO results
OUTPUT pick_sub_code WITH results
[OUTPUT pick_sub_code]
SET title AS "Available choices:"
SET type AS screen
DEFINE OUTPUT {
sub_code : LEFT : "Costcode"
description : LEFT : "Description"
} LINK TO PROCESS pick_display WITH VALUE sub_code
[PROCESS pick_supplier]
DATA results
SQL "SELECT ref, name from supplier ORDER BY name; " TO results
OUTPUT pick_supplier WITH results
[OUTPUT pick_supplier]
SET title AS "Available choices:"
SET type AS screen
DEFINE OUTPUT {
supplier : LEFT : "Reference"
name : LEFT : "Name"
} LINK TO PROCESS pick_display WITH VALUE supplier
SQL "SELECT scheme_id from scheme WHERE scheme_id='$input.scheme_id' ;" TO results
ROWS results TO no_rows
IF no_rows = 0 THEN BEGIN
DISPLAY cashflow WITH input ERROR "Foreign Key Not Found" ON 1
END
FOR a FROM 0 TO 11 BEGIN
SQL "UPDATE cashflow SET scheme_id='$input.scheme_id',month=$input.month.a,year=$input.year,amount=$input.amount.a WHERE recnum = $input.recnum AND month = $input.month.a;"
END
DISPLAY cashflow
[PROCESS delete]
DISPLAY sure WITH input
[PROCESS clear]
DISPLAY cashflow
[PROCESS yes]
SQL "DELETE FROM cashflow WHERE recnum = $input.recnum ;"
DISPLAY cashflow
[PROCESS find]
DATA results
INT and
STRING query
MOVE 0 TO and
MOVE "SELECT distinct recnum, scheme_id, year FROM cashflow WHERE " TO query
IF NOT BLANK(input.scheme_id) THEN BEGIN
IF and = 1 THEN APPEND query " AND "
APPEND query "scheme_id like '%" input.scheme_id "%'"
MOVE 1 TO and
END
APPEND query "ORDER BY scheme_id, year;"
SQL query TO results
OUTPUT find_list WITH results
[PROCESS find_display]
DATA results
SQL "SELECT recnum, scheme_id, year, month, amount FROM cashflow WHERE recnum=$input.recnum ORDER BY month;" TO results
DISPLAY cashflow WITH results
[PROCESS pick_display]
DISPLAY cashflow WITH input
[PROCESS pick_scheme_id]
DATA results
SQL "SELECT scheme_id, title from scheme ; " TO results
OUTPUT pick_scheme_id WITH results
[OUTPUT pick_scheme_id]
SET title AS "Available choices:"
SET type AS screen
DEFINE OUTPUT {
scheme_id : LEFT : "Scheme"
title : LEFT : "Title
} LINK TO PROCESS pick_display WITH VALUE scheme_id
SQL "SELECT scheme_id from scheme WHERE scheme_id='$input.scheme_id' ;" TO results
ROWS results TO no_rows
IF no_rows = 0 THEN BEGIN
DISPLAY approval WITH input ERROR "Foreign Key Not Found" ON 1
END
SQL "SELECT costcode from subjective WHERE costcode='$input.sub_code' ;" TO results
ROWS results TO no_rows
IF no_rows = 0 THEN BEGIN
DISPLAY approval WITH input ERROR "Foreign Key Not Found" ON 3
END
SQL "UPDATE approval SET scheme_id='$input.scheme_id',amend_number=$input.amend_number,sub_code='$input.sub_code',limit=$input.limit WHERE recnum = $input.recnum ;"
DISPLAY approval
[PROCESS delete]
DISPLAY sure WITH input
[PROCESS clear]
DISPLAY approval
[PROCESS yes]
SQL "DELETE FROM approval WHERE recnum = $input.recnum ;"
DISPLAY approval
[PROCESS find]
DATA results
INT and
STRING query
MOVE 1 TO and
MOVE "SELECT recnum, scheme_id, amend_number, sub_code, description FROM approval, subjective WHERE subjective.costcode=approval.sub_code " TO query
IF NOT BLANK(input.scheme_id) THEN BEGIN
IF and = 1 THEN APPEND query " AND "
APPEND query "scheme_id like '%" input.scheme_id "%'"
MOVE 1 TO and
END
IF NOT BLANK(input.sub_code) THEN BEGIN
IF and = 1 THEN APPEND query " AND "
APPEND query "sub_code like '%" input.sub_code "%'"
MOVE 1 TO and
END
APPEND query "ORDER BY scheme_id, amend_number;"
SQL query TO results
OUTPUT find_list WITH results
[PROCESS find_display]
DATA results
SQL "SELECT recnum, scheme_id,amend_number,sub_code, limit FROM approval WHERE recnum=$input.recnum ;" TO results
DISPLAY approval WITH results
[PROCESS pick_display]
DISPLAY approval WITH input
[PROCESS pick_scheme_id]
DATA results
SQL "SELECT scheme_id, title from scheme ; " TO results
OUTPUT pick_scheme_id WITH results
[OUTPUT pick_scheme_id]
SET title AS "Available choices:"
SET type AS screen
DEFINE OUTPUT {
scheme_id : LEFT : "Scheme"
title : LEFT : "Title"
} LINK TO PROCESS pick_display WITH VALUE scheme_id
[PROCESS pick_sub_code]
DATA results
SQL "SELECT costcode, description from subjective ; " TO results
OUTPUT pick_sub_code WITH results
[OUTPUT pick_sub_code]
SET title AS "Available choices:"
SET type AS screen
DEFINE OUTPUT {
sub_code : LEFT : "sub_code"
description : LEFT : "Description"
} LINK TO PROCESS pick_display WITH VALUE sub_code